package com.yunzheng.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * @author 郭思良
 * @create 2020-07-23 15:38
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@TableName(value = "project")
public class Project implements Serializable {
    /**
     * 项目id，如#001
     */
    @TableId(value = "project_id", type = IdType.INPUT)
    private String projectId;

    /**
     * 父ID
     */
    @TableField(value = "project_sid")
    private String projectSid;

    /**
     * 项目名称（迭代名称）
     */
    @TableField(value = "project_name")
    private String projectName;

    /**
     * 项目负责人（迭代负责人）
     */
    @TableField(value = "project_manager")
    private String projectManager;

    @TableField(value = "team")
    private String team;

    /**
     * 甲方
     */
    @TableField(value = "party_A")
    private String partyA;

    /**
     * 项目状态：0未进行（默认）  1进行中  2已完成
     */
    @TableField(value = "project_status")
    private Integer projectStatus;

    /**
     * 项目描述（使用text类型）
     */
    @TableField(value = "description")
    private String description;

    /**
     * 项目分级 1、2、3、4、5、6
     */
    @TableField(value = "level")
    private String level;

    /**
     * 项目开始时间（迭代开始时间）
     */
    @TableField(value = "start_time")
    private LocalDateTime startTime;

    /**
     * 计划结束时间（迭代结束时间）
     */
    @TableField(value = "finish_time")
    private LocalDateTime finishTime;

    /**
     * 计划工期（人/天）
     */
    @TableField(value = "work_time")
    private String workTime;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time")
    private LocalDateTime updateTime;

    @TableField(value = "iteration")
    private Integer iteration;

    private static final long serialVersionUID = 1L;

    public static final String COL_PROJECT_ID = "project_id";

    public static final String COL_PROJECT_SID = "project_sid";

    public static final String COL_PROJECT_NAME = "project_name";

    public static final String COL_PROJECT_MANAGER = "project_manager";

    public static final String COL_TEAM = "team";

    public static final String COL_PARTY_A = "party_A";

    public static final String COL_PROJECT_STATUS = "project_status";

    public static final String COL_DESCRIPTION = "description";

    public static final String COL_LEVEL = "level";

    public static final String COL_START_TIME = "start_time";

    public static final String COL_FINISH_TIME = "finish_time";

    public static final String COL_WORK_TIME = "work_time";

    public static final String COL_CREATE_TIME = "create_time";

    public static final String COL_UPDATE_TIME = "update_time";

    public static final String COL_ITERATION = "iteration";
}
